您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种组播源抑制方法和路由设备

  • 申请号:CN201110199431.1 申请公布号: CN102255812B
  • 申请日: 2011-07-15 申请公布日: 2014-07-30
  • 申请(专利权)人: 专利代理机构: 北京德琦知识产权代理有限公司
  • 分类号:H04L12/70

专利介绍

本发明公开了一种组播源抑制方法:路由器接收到组播源发送的组播数据后建立(*,G)表项,并利用组播源学习机制学习组播组对应的组播源IP地址;当该路由器为组播源的直连DF时,向RP发送TCP连接请求以建立同RP之间的TCP连接;当RP接收到接收者发送的组播数据请求时,利用同DF之间建立的TCP连接向DF发送请求组播数据的消息,由DF将组播数据发送给RP;当RP接收到接收者不需要接收组播数据的消息时,通过同DF建立的TCP连接向DF发送停止发送组播数据的消息,DF停止将组播数据发送给RP。本发明还公开了一种路由设备,应用本发明所述的组播源抑制方法和路由设备,能够在BIDIR PIM中灵活地实现对组播源的抑制,有效地避免了组播流量对网络带宽的浪费。
1.一种组播源抑制方法,其特征在于,该方法包括:路由器接收到组播源发送的组播数据后,建立(*,组播组G)表项,并利用组播源学习机制学习组播组对应的组播源因特网协议IP地址;当路由器为指定转发者DF时,且学习到的组播源IP地址与路由器自身的IP地址为同一网段时,向该组播组对应的汇聚点RP发送传输控制协议TCP连接请求以建立同该RP之间的TCP连接;当RP接收到接收者发送的组播数据请求时,利用同DF之间建立的TCP连接向DF发送请求组播数据的消息,由DF将组播数据逐跳发送给RP;当RP没有任何下游接收者时,通过同DF建立的TCP连接向DF发送停止发送组播数据的消息,DF停止将组播数据发送给RP。
2.根据权利要求1所述的方法,其特征在于,当向RP发送TCP连接请求后,该方法进一步包括:DF将活跃的组播源IP地址发送给RP,由RP维护该DF的活跃源组信息,其中,所述活跃源组信息包括该组播组对应的组播源IP地址和组播组的IP地址。
3.一种组播源抑制中的路由设备,其特征在于,该路由设备为指定转发者DF,该路由设备包括:组播表项建立单元、源因特网协议IP地址学习单元、传输控制协议TCP连接建立单元、第一请求接收单元和第二请求接收单元,其中,所述组播表项建立单元,用于接收到组播源发送的组播数据后,建立(*,组播组G)表项;所述源IP地址学习单元,用于接收到组播源发送的组播数据后,利用组播源学习机制学习组播组对应的组播源IP地址;所述TCP连接建立单元,用于向该组播组对应的汇聚点RP发送同该RP建立TCP连接的请求,以用于同RP建立TCP连接;所述第一请求接收单元,用于通过由TCP连接建立单元建立的TCP连接接收由RP发送的请求发送组播数据的消息后,向RP发送组播数据;所述第二请求接收单元,用于通过由TCP连接建立单元建立的TCP连接接收由RP发送的停止发送组播数据的消息后,停止向RP发送组播数据。
4.根据权利要求3所述的路由设备,其特征在于,所述源IP地址学习单元,还用于在向RP发送建立TCP连接请求后,将活跃的组播源IP地址发送给RP,由RP维护包括组播组对应的组播源IP地址和组播组的IP地址的活跃源组信息。技术领域
本发明涉及组播处理技术领域,特别涉及一种组播源抑制方法和路由设备。
背景技术
随着网络业务的开展,组播业务在网络上越来越受到广泛的应用,作为单播和广播并列的通信方式,组播技术能够有效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高速数据传送,节约大量网络带宽、降低了网络负载。在传统的组播应用中,组播源比较少且组播数据接收者较多,在这种组网应用中,协议无关组播(PIM)的协议无关组播密集模式(PIMxa0DM)和协议无关组播稀疏模式(PIMxa0SM)模式都被广泛应用,然而随着组播源数量的增多,PIM中的双向协议无关组播(BIDIRxa0PIM)得到了越来越广泛的应用。BIDIRxa0PIM是转发路径双向都可以进行转发的PIM协议,适合组播源和接收者都很多的应用(如多方电视电话会议)场景,在BIDIRxa0PIM中,组播源的业务流向汇聚点(RP)转发,由RP向多个接收者转发,不需要源注册过程,节省了设备对大量组播源进行源状态管理的表项资源耗费。而且,在BIDIRxa0PIM中只存在(*,G)表项,并不需要维护(S,G)表项,从而减轻了设备因维护组播源转发表项而产生的资源损耗,在多方电视电话会议、在线教育等应用中尤其明显。图1为一个组播组网示意图,如图1所示,在该组网中,有组播源1(Server1)、Server2等多个Server,接收者1(Client1)、Client2等多个Client,以及R1、R2、R3、R4、S1、S2、S3等多个路由器,且R1为该组网中的RP。则由每一个Server发送的组播数据流都会被发送到R1中,且该组播数据流经过的每一个路由器都会创建一个(*,G)表项,并由R1将该组播数据流发送到对应的接收者。从上述分析可以看出,现有BIDIRxa0PIM中的组播流总是会往该组网对应的RP转发,即使没有该组的接收者,组播流也会被转发到RP被丢弃,这是由于Bidir-PIM协议仅维护(*,G)表项,而并不维护组播源的状态导致的固有局限,因为RP不知道当前活动的源在哪里,于是也就不知道该去抑制哪个源,从而造成了流量对于网络带宽的浪费。
发明内容
有鉴于此,本发明提供了一种组播源抑制方法,能够在BIDIRxa0PIM中灵活地实现对组播源的抑制,有效地避免组播流量对于网络带宽的浪费。本发明还提供了一种路由设备,能够在BIDIRxa0PIM中灵活地实现对组播源的抑制,有效地避免组播流量对于网络带宽的浪费。为了达到上述目的,本发明提出的技术方案为:一种组播源抑制方法,该方法包括:路由器接收到组播源发送的组播数据后,建立(*,组播组G)表项,并利用组播源学习机制学习组播组对应的组播源因特网协议IP地址;当路由器为指定转发者DF时,且学习到的组播源IP地址与路由器自身的IP地址为同一网段时,向该组播组对应的汇聚点RP发送传输控制协议TCP连接请求以建立同该RP之间的TCP连接;当RP接收到接收者发送的组播数据请求时,利用同DF之间建立的TCP连接向DF发送请求组播数据的消息,由DF将组播数据逐跳发送给RP;当RP没有任何下游接收者时,通过同DF建立的TCP连接向DF发送停止发送组播数据的消息,DF停止将组播数据发送给RP。当向RP发送TCP连接请求后,该方法进一步包括:DF将活跃的组播源IP地址发送给RP,由RP维护该DF的活跃源组信息,其中,所述活跃源组信息包括该组播组对应的组播源IP地址和组播组的IP地址。一种组播源抑制中的路由设备,该路由设备为指定转发者DF,该路由设备包括:组播表项建立单元、源因特网协议IP地址学习单元、传输控制协议TCP连接建立单元、第一请求接收单元和第二请求接收单元,其中,所述组播表项建立单元,用于接收到组播源发送的组播数据后,建立(*,组播组G)表项;所述源IP地址学习单元,用于接收到组播源发送的组播数据后,利用组播源学习机制学习组播组对应的组播源IP地址;所述TCP连接建立单元,用于向该组播组对应的汇聚点RP发送同该RP建立TCP连接的请求,以用于同RP建立TCP连接;所述第一请求接收单元,用于通过由TCP连接建立单元建立的TCP连接接收由RP发送的请求发送组播数据的消息后,向RP发送组播数据;所述第二请求接收单元,用于通过由TCP连接建立单元建立的TCP连接接收由RP发送的停止发送组播数据的消息后,停止向RP发送组播数据。所述源IP地址学习单元,还用于在向RP发送建立TCP连接请求后,将活跃的组播源IP地址发送给RP,由RP维护包括组播组对应的组播源IP地址和组播组的IP地址的活跃源组信息。一种组播源抑制中的路由设备,该路由设备为汇聚点RP,该路由设备包括:源组信息维护单元、第一请求发送单元和第二请求发送单元,其中,所述源组信息维护单元,用于接收由指定转发者DF发送的建立传输控制协议TCP连接的请求,以用于同DF建立TCP连接;所述第一请求发送单元,用于当接收到接收者发送的组播数据请求时,利用同DF之间建立的TCP连接向DF发送请求组播数据的消息,以请求DF发送的组播数据;所述第二请求发送单元,用于当没有任何下游接收者时,通过源组信息维护单元维护的活跃源组信息找到对应的DF,并通过同该DF建立的TCP连接向该DF发送停止发送组播数据的消息,以请求该DF不再发送组播数据。所述源组信息维护单元,还用于接收由DF发送的建立TCP连接的请求后,维护包括组播组对应的组播源IP地址和组播组的IP地址的活跃源组信息。综上所述,本发明所采用的组播源抑制方法,是通过由路由器学习组播组对应的组播源IP地址,并由DF同该组播组对应的RP建立TCP连接,从而使得RP接收到接收者发送的组播数据请求或没有任何下游接收者时,能够通过建立的TCP连接向DF发送请求组播数据或不需要接收组播数据的消息,由DF将组播数据发送给RP或停止将组播数据发送给RP。由于本发明方法RP能够通过与DF之间建立的TCP连接将是否有组播数据接收者接收组播数据的消息发送给DF,从而使得DF能够根据接收到的消息确定是否将组播数据发送给RP,也就避免了现有技术由于没有维护组播源的状态而导致的不知道该抑制哪个组播源的局限,因此,应用本发明组播源抑制方法能够在BIDIRxa0PIM中灵活地实现对组播源的抑制,有效地避免组播流量对于网络带宽的浪费。
附图说明
图1为一个组播组网示例图;图2为本发明所采用的组播源抑制方法的工作流程图;图3给出了本发明路由设备实施例一的结构示意图;图4给出了本发明路由设备实施例二的结构示意图。
具体实施方式
本发明所述方案的具体实现包括:路由器接收到组播源发送的组播数据后,建立(*,G)表项,并利用组播源学习机制学习组播组对应的组播源IP地址;当路由器为DF时,且学习到的组播源IP地址与路由器自身的IP地址为同一网段时,向该组播组对应的RP发送TCP连接请求以建立同该RP之间的TCP连接;当RP接收到接收者发送的组播数据请求时,利用同DF之间建立的TCP连接向DF发送请求组播数据的消息,由DF将组播数据逐跳发送给RP;当RP没有任何下游接收者时,通过同DF建立的TCP连接向DF发送停止发送组播数据的消息,DF停止将组播数据发送给RP。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。图2给出了本发明组播源抑制方法的工作流程。如图2所示,该流程包括以下步骤:步骤201:路由器接收到组播源发送的组播数据后,建立(*,G)表项,并利用组播源学习机制学习组播组对应的组播源IP地址。需要说明的是,路由器通过组播源学习机制就能够学习到组播组对应的组播源IP地址,具体如何通过组播源学习机制学习组播源IP地址可以为:假设(*,G)表项已经建立好,且该(*,G)表项的活跃源Sxa01,S2,......已经被记录,当有组播数据(S1,G)进入时,发现S1在(*,G)中已被记录,则不对其进行处理;当有组播数据(S4,G)进来时,发现S4在(*,G)中没有被记录,则将S4记录到(*,G)中。在本步骤中,具体如何建立(*,G)表项为现有技术,这里不再赘述。步骤202:当路由器为DF时,且学习到的组播源IP地址与路由器自身的IP地址为同一网段时,建立同该组播组对应的RP之间的TCP连接,并将活跃的组播源IP地址发送给该RP。在本步骤中,路由器是否为DF是通过现有“双向PIM”协议机制选出来的,且当DF学习到的组播组对应的组播源IP地址与路由器自身的IP地址为同一网段内的IP地址时,才需要由该DF向RP发起TCP连接。需要说明的是,在本步骤中,建立TCP连接的方法已为现有技术,不再赘述。还需说明的是,在本步骤中,当DF学习到的组播组对应的组播源IP地址与路由器自身的IP地址不为同一网段内的IP地址时,则不需要由该DF向RP发起TCP连接。步骤203:RP收到DF发送的建立TCP连接后,维护该DF的活跃源组信息,其中,所述活跃源组信息包括该组播组对应的组播源IP地址和组播组的IP地址。步骤204:RP判断是否有组播数据接收者,如果是,执行步骤205;否则,执行步骤208。步骤205:RP接收到接收者发送的组播数据请求后,利用同DF之间建立的TCP连接向DF发送请求组播数据的消息。步骤206:DF按照(*,G)逐跳向RP发送组播数据。步骤207:当RP接收到该接收者不再需要接收组播数据的消息时,通过维护的活跃源组信息找到对应的DF,并通过同该DF建立的TCP连接向该DF发送停止发送组播数据的消息后,执行步骤209。在本步骤中,RP接收到该接收者不再需要接收组播数据的消息也就是RP发现没有任何下游接收者。步骤208:RP通过TCP连接向DF发送不需要发送组播数据的消息。步骤209:DF停止发送组播数据。至此,即完成了本发明组播源抑制方法的整个工作流程。基于本实施例所述方法,图3给出了本发明所采用的路由设备实施例一的结构示意图,该路由设备为DF,则该路由设备包括:组播表项建立单元31、源IP地址学习单元32、TCP连接建立单元33、第一请求接收单元34和第二请求接收单元35。其中,所述组播表项建立单元31,用于接收到组播源发送的组播数据后,建立(*,G)表项。所述源IP地址学习单元32,用于接收到组播源发送的组播数据后,利用组播源学习机制学习组播组对应的组播源IP地址,并在向RP发送建立TCP连接请求后,将活跃的组播源IP地址发送给RP,由RP维护包括组播组对应的组播源IP地址和组播组的IP地址的活跃源组信息。所述TCP连接建立单元33,用于向RP发送同该组播组对应的RP建立TCP连接的请求,以用于同该RP建立TCP连接。所述第一请求接收单元34,用于通过由TCP连接建立单元33建立的TCP连接接收由RP发送的请求发送组播数据的消息后,按照(*,G)逐跳向RP发送组播数据。所述第二请求接收单元35,用于通过由TCP连接建立单元33建立的TCP连接接收由RP发送的停止发送组播数据的消息后,停止向RP发送组播数据。至此,即得到了本实施例所采用的路由设备。图3所采用的通信设备的具体工作流程请参照图2所示方法实施例中的相应说明,此处不再赘述。同样地,基于本实施例所述方法,图4给出了本发明所采用的路由设备实施例二的结构示意图,该路由设备为RP,则该路由设备包括:源组信息维护单元41、第一请求发送单元42和第二请求发送单元43。其中,所述源组信息维护单元41,用于接收由DF发送的建立TCP连接的请求,以用于同DF建立TCP连接。进一步地,所述源组信息维护单元41,还用于向接收由DF发送的建立TCP连接的请求后,维护包括组播组对应的组播源IP地址和组播组的IP地址的活跃源组信息,以用于同DF建立TCP连接。所述第一请求发送单元42,用于当接收到接收者发送的组播数据请求时,利用同DF之间建立的TCP连接按照(*,G)逐跳向DF发送请求组播数据的消息,以请求DF发送的组播数据。所述第二请求发送单元43,用于当没有任何下游接收者时,通过源组信息维护单元41维护的活跃源组信息找到对应的DF,并通过同该DF建立的TCP连接向该DF发送停止发送组播数据的消息,以请求该DF不再发送组播数据。至此,即得到了本实施例所采用的路由设备。图4所采用的路由设备的具体工作流程也请参照图2所示方法实施例中的相应说明,此处不再赘述。以图1所示组网示意图中的Server1为组播源、Client1为接收者、R1为RP为例说明,本发明实施例具体实现过程为:首先,Server1发送组播数据到R3,R3建立(*,G)表项,同时利用组播源IP学习机制学习到Server1的IP地址,如果自己是DF,且同自身IP地址比较发现为同一网段时,于是同该组播组对应的组播源IP地址的RP建立TCP连接,并将活跃的源组信息发送给RP;同时,按现有BIDIRxa0PIM协议,将组播数据发送给R2,R2通过学习源IP地址,发现自身IP地址同学习到的源IP地址不为同一网段,则不需要同RP建立TCP连接;其次:RP收到组播数据后,当没有任何接收者需要接收组播数据时,TCP连接告知R3不要继续发送组播数据,R3停止发送组播数据;当Client1希望接收组播数据时,发送加入请求到R4,最终RP获知了R4需要接收组播数据,于是通过TCP连接通知R3开始发送组播数据。最后:当Client1不再需要接收组播数据时,向R4发送离开消息,最终R1进入到再也没有任何接收者的状态,于是,通过建立的TCP连接向对应的R3发送暂停发送组播数据的消息,R3停止向RP发送组播数据。在本实施例中,RP也可以和S3建立类似的TCP连接,以交互相关信息,其具体实现过程同上述所示,这里不再赘述。需要说明的是,当(*,G)表项中源IP较多时,TCP链接可能较多,为了避免对RP或者DF造成压力,可以通过在RP和DF上定义一些业务策略来避免这些问题,这些业务策略具体可以包括:a)在DF和RP上分别定义允许建立TCP连接的最大数量;b)在DF和RP上根据组播流量的大小来确定是否对该组播源进行抑制,以确保只对流量大的组播数据流进行抑制;c)RP根据(*,G)的接收者的在线概率选择在线率较低的(*,G)表项进行抑制,如分时段进行抑制,在某个时段对没有任何接收者的某些组播源进行抑制;d)指定对某些组IP或者源IP进行抑制。还需说明的是,在本发明中,还可以通过当组网中每个路由器建立(*,G)表项时分别进行源IP地址学习,由此,当RP有或没有组播数据接收者时,能够利用利用学习的源IP地址,逐跳向组播源发送开始或停止组播数据流消息,当消息到达直连DF(即自身IP地址同学习到的源IP地址为同一网段的DF)时,由DF开始或停止发送对应的组播数据流。然而,该实施例需要对现有PIM协议进行扩展、增加新的消息类型来实现,这里不再对该实施例进行赘述。总之,本发明所采用的组播源抑制方法,是通过由路由器学习组播组对应的组播源IP地址,并由DF同该组播组对应的RP建立TCP连接,从而使得RP接收到接收者发送的组播数据请求或没有任何下游接收者时,能够通过建立的TCP连接向DF发送请求组播数据或不需要接收组播数据的消息,由DF将组播数据发送给RP或停止将组播数据发送给RP。由于本发明方法RP能够通过与DF之间建立的TCP连接将是否有组播数据接收者接收组播数据的消息发送给DF,从而使得DF能够根据接收到的消息确定是否将组播数据发送给RP,也就避免了现有技术由于没有维护组播源的状态而导致的不知道该抑制哪个组播源的局限,因此,应用本发明组播源抑制方法能够在BIDIRxa0PIM中灵活地实现对组播源的抑制,有效地避免组播流量对于网络带宽的浪费。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。